Point-to-multipoint connectivity verification

ABSTRACT

Improved connectivity verification is disclosed. A root in a point-to-multipoint network can establish parameters for a connectivity-verification session with each endpoint in the network. The root then sends verification-request messages to each endpoint in accordance with the parameters. Each endpoint signals an alarm (e.g., sends a reply to the root) if the verification-request messages are not received at the endpoint in accordance with the established parameters. In this manner, endpoints send verification-reply messages to the root much less frequently, greatly reducing the congestion at the root and greatly reducing the chance that the root gets congested or even overwhelmed when the network includes large numbers of endpoints.

This application claims the benefit of the filing date of U.S.Provisional Application No. 60/814,299; filed Jun. 16, 2006; entitled“Light-weight mechanism for P2MP LSP connectivity verification;” theentirety of which provisional application is incorporated herein byreference.

FIELD OF THE INVENTION

The present disclosure relates generally to verifying connectivitybetween two nodes in a network. For example, embodiments disclosedherein provide for scalable and accurate approaches to verifyingconnectivity between the root and the endpoints of a point-to-multipointnetwork.

BACKGROUND OF THE INVENTION

Computer networks have become ubiquitous. Computer networks include theInternet, Service Provider (SP) networks, private networks, and LocalArea Networks (LANs). Point-to-multipoint networks (sometimes referredto as multicast networks) are also known in the art and involve sendinginformation from a single point, commonly referred to as the root, tomultiple points, commonly referred to as endpoints.

BRIEF DESCRIPTION OF THE DRAWINGS

Objects, features, and advantages of inventive matter disclosed hereinmay be better understood by referring to the following description inconjunction with the accompanying drawings, in which like numeralsindicate like structural elements and features in the various figures.The drawings are not meant to limit the scope of the invention. Forclarity, not every element may be labeled in every figure. The drawingsare not necessarily to scale, emphasis instead being placed uponillustrating the principles of the invention.

FIG. 1 illustrates a network including and an examplepoint-to-multipoint network.

FIG. 2 illustrates an example computer system architecture for acomputer system that performs methods useful in protecting multi-segmentpseudowires in accordance with embodiments disclosed herein.

FIG. 3 illustrates example operations performable by a network node anduseful in verifying connectivity with a second node in accordance withembodiments disclosed herein.

FIG. 4 illustrates example operations performable by a root in apoint-to-multipoint network and useful in verifying connectivity with aplurality of endpoints in accordance with embodiments disclosed herein.

FIG. 5 illustrates additional example operations performable by a rootin a point-to-multipoint network and useful in verifying connectivitywith a plurality of endpoints in accordance with embodiments disclosedherein.

FIG. 6 illustrates example operations performable by a network node anduseful in verifying connectivity with a second node in accordance withembodiments disclosed herein.

FIG. 7 illustrates example operations performable by an endpoint in apoint-to-multipoint network and useful in verifying connectivity withthe root of the network in accordance with embodiments disclosed herein.

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

Point-to-multipoint networks may comprise many endpoints for a singleroot. For example, Label Distribution Protocol (“LDP”) can be used toestablish point-to-multipoint Label-Switched-Paths (“LSPs”) havinghundreds or even thousands of endpoints. LSPs are a sequence of labelsat each and every node along the path from the source to thedestination. Each data packet encapsulates and carries the labels duringtheir journey from source to destination. High-speed switching of datais possible because the fixed-length labels are inserted at the verybeginning of the packet or cell and can be used by hardware to switchpackets quickly between links.

In MPLS, data transmission occurs on Label-Switch Paths (“LSPs”).Point-to-multipoint LSPs distribute data from a single source (i.e., theroot) to a plurality of destinations (i.e., endpoints) across thenetwork according to the next hops indicated by the routing protocols.Each LSP is identified by a Multiprotocol Label Switching (“MPLS”)multicast Forwarding Equivalence Class (“FEC”).

There exists a need for connectivity verification between two points,also commonly referred to as nodes, in a network, including the need forconnectivity verification between the root and the endpoints in apoint-to-multipoint network. Technology for verifying connectivitybetween two network nodes generally requires a first node toperiodically send a connectivity-verification message to the secondnode. These connectivity-verification messages are also commonlyreferred to as connectivity probes, connectivity pings, connectivitychecks, continuity checks, loopback test, or path consistency checks.Upon receiving each connectivity-verification message, the second nodesends an explicit acknowledgment to the first node. That is, the secondnode sends an acknowledgment message to the first node each time thesecond node receives a connectivity-verification message. Upon receivingan acknowledgment message from the second node, the first node has hadthe connectivity to the second node verified. If the first node does notreceive an acknowledgment message to the connectivity-verificationmessage from the second node, then the connectivity to the second nodeis not verified.

Thus, in the above-discussed technique for verifying connectivitybetween two network nodes, each connectivity-verification message isresponded to with an acknowledgment message to explicitly verify theconnectivity. If a root in a point-to-multipoint network needs to checkconnectivity to each endpoint in the point-to-multipoint network, thenthe root needs to send connectivity-verification messages to eachendpoint. However, for point-to-multipoint networks that include a largenumber of endpoints, the root will receive a large number ofacknowledgments unless the root has lost connectivity to a significantnumber of endpoints. This large number of acknowledgments sent to theroot from the endpoints can at least cause significant congestion at theroot and may even overwhelm the root.

Embodiments discussed herein deviate with respect to technology forverifying connectivity between network nodes, such as that discussedabove, and other technology also known in the prior art. Embodimentsdisclosed herein provide for novel and accurate techniques for verifyingconnectivity between network nodes that are more scalable thantechniques known in the prior art. Techniques disclosed herein may beencoded as logic in one or more tangible media for execution and, whenexecuted, operable to perform the encoded techniques.

A first example disclosure embodies logic encoded in one or moretangible media for execution and, when executed at a first network node,is useful in verifying connectivity with a second node in accordancewith embodiments disclosed herein. The logic, when executed, is operableto establish parameters for a connectivity-verification session betweena first node and a second node in a network. The parameters include anindication of at least one action for the second node to perform if thesecond node does not receive verification-request messages in accordancewith the parameters during the connectivity-verification session. Thelogic is further operable to send verification-request messages from thefirst node to the second node in accordance with the establishedparameters during the connectivity-verification session.

A second example disclosure embodies logic encoded in one or moretangible media for execution and, when executed at a network node, isuseful in verifying connectivity between two nodes in accordance withembodiments disclosed herein. For example, the logic of this seconddisclosure may be advantageously executed at an endpoint in apoint-to-multipoint network to help verify connectivity with the root ofthe point-to-multipoint network. When executed, the logic is operable toestablish parameters for a connectivity-verification session between afirst node and a second node in a network. The parameters include anindication of at least one action to perform at the second node ifverification-request messages are not received at the second node inaccordance with the parameters during the connectivity-verificationsession. The logic is further operable to receive verification-requestmessages from the first node in accordance with the establishedparameters during the connectivity-verification session; and to performat least one indicated action when verification-request messages are notreceived in accordance with the established parameters during theconnectivity-verification session.

A third example disclosure embodies logic encoded in one or moretangible media for execution and, when executed at a root in apoint-to-multipoint network, is useful in verifying connectivity withendpoints of the point-to-multipoint network in accordance withembodiments disclosed herein. The logic, when executed, is operable toestablish parameters for a connectivity-verification session between theroot and each endpoint in a point-to-multipoint network including a rootand a plurality of endpoints. The parameters include an indication of atleast one action for the endpoint to perform if the endpoint does notreceive verification-request messages in accordance with the parametersduring the connectivity-verification session. The logic is furtheroperable to send verification-request messages from the root to eachendpoint in accordance with the established parameters during theconnectivity-verification session.

It is to be understood that the inventive matter disclosed herein may beembodied as logic encoded in one or more tangible media for executionand, when executed, operable to perform operations disclosed herein. Thelogic may be embodied strictly as a software program, as software andhardware, or as hardware alone. It is also to be understood that theinventive matter disclosed herein can be used in conjunction withnumerous different communications protocols. For example, techniquesdescribed herein can be used for verifying connectivity in MPLS networksor IP networks. In particular embodiments, the verification-requestmessages may be implemented as Bidirectional Forwarding Detection(“BFD”) packets. In other particular embodiments, theverification-request messages may be implemented as IP probes. Thefeatures disclosed herein may be employed in data communications devicesand other computerized devices and software systems for such devices,such as those manufactured by Cisco Systems, Inc. of San Jose, Calif.For example, features disclosed herein can be advantageously utilizedwith Cisco Internet Protocol (“IP”) Service Level Agreements (“IP SLA”).

DESCRIPTION

FIG. 1 illustrates a network 100 that includes an examplepoint-to-multipoint network. The network 100 comprises a plurality ofroots 102-A, 102-B; a plurality of endpoints 106-A, 106-B; and aplurality of midpoints 104-A, 104-B that may connect endpoints 106-A,106B to a root 102-A, 102-B. The point-to-multipoint network comprises aroot 102-A, midpoints 104A, and endpoints 106-A.

When the root 102-A wishes to verify connectivity with an endpoint 106-Ain accordance with embodiments disclosed herein, the root 102-Aestablishes parameters for a connectivity-verification session betweenthe root 102-A and the endpoint 106-A. During theconnectivity-verification session, the root 102-A sendsverification-request messages to the endpoint 106-A in accordance withthe established parameters. The parameters include an indication of atleast one action for the endpoint 106-A to perform if the endpoint 106-Adoes not receive the verification-request messages in accordance withthe parameters. Generally, the established parameters define operationsof the connectivity-verification session and may include, for example, arefresh interval, which indicates a time period during which theconnectivity-verification session is valid. The established parametersmay also include a transmission interval that indicates an intervalbetween successive verification-request messages. In other words, thetransmission interval can determine the frequency at which the root willsend verification-request messages. The established parameters may alsoinclude a detection multiplier indicating a number of transmissionintervals that may pass at the second node without the second nodereceiving a verification-request message before the second node performsand indicated action.

In particular embodiments, the indication of at least one action for theendpoint 106-A to perform is an indication for the endpoint 106-A tosend a verification-reply message to the root 102-A when the endpoint106-A has detected that verification-request messages have not beenreceived at the endpoint 106-A in accordance with the establishedparameters. Accordingly, in particular embodiments, the root 102-A isadapted to receive a verification-reply message from the endpoint 106-A.If the root 102-A actually receives a verification-reply message fromthe endpoint 106-A, then the root 102-A knows that connectivity with theendpoint 106-A is not verified. This differs from prior art embodimentsin which a reply message from an endpoint to a root is an indicationthat connectivity is verified.

In particular embodiments, the root 102-A may establish parameters forconnectivity-verification sessions between the root 102-A and each of aplurality of endpoints 106-A in the point-to-multipoint network. Becauseendpoints 106-A only perform the actions indicated by the establishedparameters when the endpoint 106-A does not receive verification-requestmessages in accordance with the established parameters, the root 102-Aonly receives verification-reply messages from those endpoints 106-A forwhich connectivity is not verified. In this manner, reply traffic to theroot 102-A can be greatly reduced relative to conventional techniquesfor connectivity verification in point-to-multipoint networks.

FIG. 2 illustrates an example computer system architecture 200 for acomputer system 210 that performs operations useful for verifyingconnectivity in accordance with embodiments disclosed herein. Thecomputer system 210 may be any type of computerized system such as arouter, personal computer, workstation, portable computing device,mainframe, server, or similar apparatus. In this example, the computersystem 210 includes an interconnection mechanism 211 that couples amemory system 212, a processor 213, and a communications interface 214.The communications interface 214 allows the computer system 210 tocommunicate with external devices or systems.

The memory system 212 may be any type of computer-readable medium thatis encoded with a connectivity-verification application 220-A thatrepresents software code such as data and/or logic instructions (e.g.,stored in the memory or on another computer-readable medium such as adisk) that embody the processing functionality of embodiments of theinvention as explained above. The processor 213 can access the memorysystem 212 via the interconnection mechanism 211 in order to launch,run, execute, interpret, or otherwise perform the logic instructions ofthe connectivity-verification application 220-A for the host in order toproduce a corresponding connectivity-verification process 220-B. Inother words, the connectivity-verification process 220-B represents oneor more portions of the connectivity-verification application 220-Aperforming within or upon the processor 213 in the computer system 210.

It is to be understood that embodiments of the invention include theconnectivity-verification application 220-A (i.e., the un-executed ornon-performing logic instructions and/or data) encoded within acomputer-readable medium such as a floppy disk, hard disk or in anoptical medium, or in a memory type system such as in firmware, readonly memory (ROM), or, as in this example, as executable code within thememory system 212 (e.g., within random access memory or RAM). Theconnectivity-verification application 220-A embodies methods disclosedherein for performing connectivity-verification operations. It is alsoto be understood that other embodiments of the invention can provide theconnectivity-verification application operating within the processor 213as the connectivity-verification process 220-B. While not shown in thisexample, those skilled in the art will understand that the computersystem 210 may include other processes and/or software and hardwarecomponents, such as an operating system, which have been left out ofthis illustration for ease of description of the invention.

FIG. 3 illustrates example operations 300 performable by an apparatus,such as the computer system 210 executing the connectivity-verificationapplication 220-A, operating as a first network node and useful inverifying connectivity with a second network node in accordance withembodiments disclosed herein. For example, the first network node may bethe root 102-A of FIG. 1 and the second node may be an endpoint 106-A ofFIG. 1. In other particular embodiments, the example operations 300 maybe performed by an apparatus (e.g., shadow router) communicativelyconnected to the first network node.

In step 310, the first node establishes parameters for aconnectivity-verification session between the first node and the secondnode in a network. The parameters include an indication of at least oneaction for the second node to perform if the second node does notreceive verification-request messages in accordance with the parametersduring the connectivity-verification session.

In step 320, the first node sends verification-request messages from thefirst node to the second node in accordance with the establishedparameters during the connectivity-verification session. Thus, averification-request message is a message sent from a first node to asecond node during the connectivity-verification session and inaccordance with parameters established between the first node and thesecond node as described in embodiments disclosed herein.

An indicated action is an action that the second node is to perform ifthe second node detects that verification-request messages are not beingreceived at the second node in accordance with the establishedparameters. For example, if the second node receives noverification-request messages at all, the connection from the first nodeto the second node has failed and the second node performs an indicatedaction, indicating the failure of the connection. Thus, an indicatedaction, when performed, signals an alarm that connectivity between thefirst node and the second node is not verified. The details of how thealarm is signaled is determined by the particular action that isperformed. For example, one action might include the second node sendinga verification-reply message to the first node. A second example actionmay include signaling an operator of the second node. A third exampleaction may include signaling an administrator of the network. A fourthexample action may include invoking software that is designed to locateand fix errors that may be causing the lack of connectivity.

FIG. 4 illustrates example operations 400 performable by an apparatus,such as the computer system 210 executing the connectivity-verificationapplication 220-A, operating as a root in a point-to-multipoint networkand useful in verifying connectivity with a plurality of endpoints inaccordance with embodiments disclosed herein. In other particularembodiments, the example operations 400 may be performed by an apparatus(e.g., shadow router) communicatively connected to the root.

In step 410, the root establishes parameters for aconnectivity-verification session between the root and each of theplurality of endpoints. The parameters include an indication of at leastone action for the endpoint to perform if the endpoint does not receiveverification-request messages in accordance with the parameters duringthe connectivity-verification session. The established parametersbetween two different endpoints are not necessarily identical. That is,in particular embodiments, the parameters that the root establishes witha first endpoint may be different than the parameters that the rootestablishes with a second endpoint. However, in other particularembodiments, the parameters that the root establishes with all theendpoints in a particular network will all be identical.

In step 420, the root sends verification-request messages during theconnectivity-verification session to each endpoint in accordance withthe parameters established with each endpoint. In particularembodiments, step 420 may comprise step 422. In step 422, the rootincludes timestamps, or sequence numbers, or both in theverification-request messages. A timestamp inserted into averification-request message is typically the time at which theverification-request message was sent from the root. Sequence numbersinserted into the verification-request messages indicate the order inwhich individual messages are sent. Typically, each successiveverification-request message will have a sequence number that is onegreater than the sequence number inserted into the immediately previousverification-request message sent. For example, if 100verification-request messages are sent, the first verification-requestmessage sent may include a sequence number of 1, the second message asequence number of 2, the third message a sequence number of 3, and soon. In step 422, the root will include, in the verification-requestmessages at least one of the group consisting of timestamps and sequencenumbers.

In step 430, the root receives a verification-reply message from one ofthe endpoints. Thus, in this embodiment, one of the parametersestablished with this endpoint may have been an indication for theendpoint to send a verification-reply message to indicate thatverification-request messages were not received at the endpoint inaccordance with the parameters. Upon detecting that theverification-request messages are not being received in accordance withthe parameters, the endpoint sends a verification-reply message and, instep 430, the root receives the verification-reply message, indicatingto the root that the endpoint is not receiving verification-requestmessage in accordance with the established parameters.

In step 440, the root creates a record of received verification-replymessages. Such a record can be advantageously used to keep track of ahistory of connectivity with each endpoint. This history may provideevidence or clues as to what changes might be made to a network toreduce future loss of connectivity.

FIG. 5 illustrates additional example operations 500 performable by anapparatus, such as the computer system 210 executing theconnectivity-verification application 220-A, operating as a root in apoint-to-multipoint network and useful in verifying connectivity with aplurality of endpoints in accordance with embodiments disclosed herein.In other particular embodiments, the example operations 500 may beperformed by an apparatus (e.g., shadow router) communicativelyconnected to the root. Step 410-1 comprises an example embodiment ofstep 410 in FIG. 4. In step 410-1, the root establishes parameters for aconnectivity-verification session between the root and each of theplurality of endpoints. The parameters include an indication of at leastone action for the endpoint to perform if the endpoint does not receiveverification-request messages in accordance with the parameters duringthe connectivity-verification session. In particular embodiments, step410-1 comprises at least one of step 511, step 512, step 513, step 514,and the combination of steps 515 and 516.

In particular embodiments, techniques to establish the parametersbetween the root and each of the plurality of endpoints in step 410-1may be techniques that comprise modifications to known techniques. Forexample, in MPLS point-to-multipoint LSPs, the root may use a MPLS EchoRequest message to bootstrap the connectivity-verification session andestablish the parameters. A root may create a connectivity-verificationsession and establish parameters by initiating a MPLS Echo Request/Replymessage exchange. In particular embodiments, the root sends a MPLS EchoRequest message containing a connectivity-verification-session object.The connectivity-verification-session object establishes theconnectivity-verification session between the root and the endpoint andestablishes the parameters for the connectivity-verification session.That is, in particular embodiments, theconnectivity-verification-session object is used to notify endpointsthat connectivity verification will be performed on the LSP and toestablish the connectivity verification parameters. Aconnectivity-verification-session object may be sent as a Type LengthValue (“TLV”) element. A MPLS Echo Reply message can be used to confirmto the root that the connectivity-verification session is acknowledgedand the parameters for the session are established.

In step 511, the root discovers the plurality of endpoints. Techniquesfor discovering endpoints in a point-to-multipoint network are known inthe art and these techniques can be advantageously used in embodimentsdisclosed herein during the step of establishing parameters (e.g., step410-1).

In step 512, the root includes a refresh interval in the establishedparameters. The refresh interval is a value that indicates a time periodfor which the connectivity-verification session is valid. In particularembodiments, the root will periodically send a refresh message thatrestarts or refreshes the connectivity-verification session. A refreshmessage may keep parameters the same or may change parameters. Thus, inparticular embodiments, the refresh interval is expressed as a minimumperiod before a refresh message is sent by the root.

In step 513, the root includes a transmission interval in theestablished parameters. The transmission interval indicates the intervalbetween successive verification-request messages sent by the root. Thetransmission interval allows the endpoint to know the frequency at whichthe root will send verification-request messages and, therefore, thefrequency at which the endpoint can expect to receive theverification-request messages.

In step 514, the root includes a detection multiplier in the establishedparameters. The detection multiplier indicates a number of transmissionintervals that may pass at the endpoint without the endpoint receiving averification-request message before the endpoint performs an indicatedaction. Thus, in particular embodiments, an endpoint will keep track ofthe time between successive, received verification-reply messages. Whenthis time exceeds the number of transmission intervals indicated by thedetection multiplier before a successive verification-request message isreceived, the endpoint signals an alarm by performing at least oneindicated action (e.g., sending a verification-reply message to theroot).

In particular embodiments, the root and endpoint may perform a messageexchange to confirm the configuration of a connectivity-verificationsession and the establishment of the parameters. The MPLS EchoRequest/Reply exchange described above is one example of such a messageexchange. In step 515, the root sends a configuration-announcementmessage (e.g., MPLS Echo Request) to the endpoint. Theconfiguration-announcement contains the parameters to be established.The endpoint confirms the configuration by sending a configuration-replymessage (e.g., MPLS Echo Reply) to the root. In step 516, the rootreceives the configuration-reply message.

FIG. 6 illustrates example operations 600 performable by an apparatus,such as the computer system 210 executing the connectivity-verificationapplication 220-A, operating as the second of two network nodes anduseful in verifying connectivity between the two nodes in accordancewith embodiments disclosed herein. For example, the first network nodemay be the root 102-A of FIG. 1 and the second node may be an endpoint106-A of FIG. 1. In other particular embodiments, the example operations600 may be performed by an apparatus (e.g., shadow router)communicatively connected to the second network node.

In step 610, the second node establishes parameters for aconnectivity-verification session between the first node and the secondnode in a network. The parameters include an indication of at least oneaction for the second node to perform if the second node does notreceive verification-request messages in accordance with the parametersduring the connectivity-verification session.

In step 620, the second node determines if the second node is receivingverification-request messages from the first node in accordance with theestablished parameters during the connectivity-verification session. Asexplained above, a verification-request message is a message sent from afirst node to the second node during the connectivity-verificationsession and in accordance with parameters established between the firstnode and the second node as described in embodiments disclosed herein.As explained in relation to step 422, the received verification-requestmessages may include timestamps and sequence numbers.

In step 630, the second node performs at least one indicated action whenverification-request messages are not received in accordance with theestablished parameters during the connectivity-verification session.

FIG. 7 illustrates example operations 700 performable by an apparatus,such as the computer system 210 executing the connectivity-verificationapplication 220-A, operating as an endpoint in a point-to-multipointnetwork and useful in verifying connectivity with the root of thenetwork in accordance with embodiments disclosed herein. In otherparticular embodiments, the example operations 700 may be performed byan apparatus (e.g., shadow router) communicatively connected to theendpoint.

Step 610-1 comprises an example embodiment of step 610 in FIG. 6. Instep 610-1, the endpoint establishes parameters for aconnectivity-verification session with a root in a point-to-multipointnetwork. The parameters include an indication of at least one action toperform if verification-request messages are not received in accordancewith the parameters during the connectivity-verification session. Inparticular embodiments, step 610-1 comprises at least one of step 713,step 714, step 715, step 716, and the combination of steps 711 and 712.

As explained above, the root and endpoint may perform a message exchangeto confirm the configuration of a connectivity-verification session andthe establishment of the parameters. In step 711, the endpoint receivesa configuration-announcement message from the root. The receivedconfiguration-announcement message contains the parameters to beestablished. Step 711 corresponds to step 515, wherein the root sends aconfiguration-announcement message to the endpoint. That is, inparticular embodiments, the configuration-announcement message sent bythe root in step 515 is the same configuration-announcement messagereceived by the endpoint in step 711.

In step 712, the endpoint sends a configuration-reply message to theroot. Step 712 corresponds to step 516, wherein the root receives aconfiguration-reply message from an endpoint. That is, in particularembodiments, the configuration-announcement reply sent by the endpointin step 712 is the same configuration-announcement reply received by theroot in step 516.

In step 713, the endpoint includes a refresh interval in the establishedparameters. Typically, the endpoint includes the refresh interval intothe established parameters simply by accepting a refresh interval sentby the root as explained above. That is, the root typically sendsparameters to the endpoint and the endpoint may include these asestablished parameters by accepting the sent parameters.

In step 714, the endpoint includes a transmission interval into theestablished parameters. Similarly to the refresh interval, the endpointmay include the transmission interval into the established parameterssimply by accepting a transmission interval sent by the root. Since thetransmission interval indicates the interval between successiveverification-request messages sent by the root, the transmissioninterval allows the endpoint to know the frequency at which the rootwill send verification-request messages and, therefore, the frequency atwhich the endpoint can expect to receive the verification-requestmessages.

In step 715, the endpoint includes a detection multiplier into theestablished parameters. Similarly to the refresh interval and thetransmission interval, the endpoint may include the detection multiplierinto the established parameters simply by accepting a detectionmultiplier sent by the root. The detection multiplier indicates a numberof transmission intervals that may pass at the endpoint without theendpoint receiving a verification-request message before the endpointperforms an indicated action. Thus, in particular embodiments, anendpoint will keep track of the time between successive, receivedverification-reply messages. When this time exceeds the number oftransmission intervals indicated by the detection multiplier before asuccessive verification-request message is received, the endpointsignals an alarm by performing at least one indicated action (e.g.,sending a verification-reply message to the root).

In step 716, the endpoint calculates at least one of the groupconsisting of in-band loss, delay, and jitter. In particularembodiments, the endpoint can use the established parameters as well astimestamps and sequence numbers received in verification-requestmessages to calculate in-band loss, delay, or jitter for the arrivingverification-request messages in much the same way that in-band loss,delay, and jitter are calculated for packet streams in conventionaltechnology.

Having described preferred embodiments of the invention it will nowbecome apparent to those of ordinary skill in the art that otherembodiments incorporating these concepts may be used. Additionally,software included as part of the invention may be embodied in a computerprogram product that includes a computer-readable medium. For example,such a computer-readable medium can include a readable memory device,such as a hard drive device, a CD-ROM, a DVD-ROM, or a computer diskettehaving computer-readable program code segments stored thereon. Thecomputer-readable medium can also include a communications link, eitheroptical, wired, or wireless, having program code segments carriedthereon as digital or analog signals.

Improved connectivity verification is herein disclosed. While inventivematter has been shown and described herein with reference to specificembodiments thereof, it should be understood by those skilled in the artthat variations, alterations, changes in form and detail, andequivalents may be made or conceived of without departing from thespirit and scope of the invention. Accordingly, the scope of the presentinvention should be assessed as that of the appended claims and byequivalents thereto.

1. A method comprising: establishing parameters for aconnectivity-verification session between a first node and at least onereceiving node in a network, wherein the connectivity-verificationsession is configured to verify connectivity between the first node andthe at least one receiving node in accordance with the establishedparameters, and wherein the parameters include an indication of at leastone action for the at least one receiving node to perform if the atleast one receiving node does not receive one or moreverification-request messages from the first node in accordance with theparameters during the connectivity-verification session; sending, duringthe connectivity-verification session, at least one of the one or moreverification-request messages from the first node to the at least onereceiving node in accordance with the established parameters during theconnectivity-verification session; receiving, during theconnectivity-verification session, at least one verification-replymessage from the at least one receiving node at the first node, the atleast one verification-reply message indicative of a determination bythe at least one receiving node of whether to send the at least oneverification-reply message to the first node, wherein the determinationcomprises: a determination to send the at least one verification-replymessage if the at least one receiving node does not receive any of theone or more verification-request messages in accordance with theestablished parameters; and a determination not to send the at least oneverification-reply message if the at least one receiving node receivesat least one of the one or more verification-request messages inaccordance with the established parameters; and periodicallyre-establishing the parameters for the connectivity-verification sessionbetween the first node and the at least one receiving node in thenetwork.
 2. The method of claim 1, further comprising: creating a recordof received verification-reply messages.
 3. The method of claim 1,wherein establishing the parameters comprises: establishing theparameters for a connectivity-verification session between the firstnode and the at least one receiving node in the network, wherein theestablished parameters include at least one parameter from the groupconsisting of: a refresh interval for indicating a time period duringwhich the connectivity-verification session is valid; a transmissioninterval that indicates an interval between successive verificationrequest messages; and a detection multiplier indicating a number oftransmission intervals that may pass at the at least one receiving nodewithout the at least one receiving node receiving one of the one or moreverification-request messages before the at least one receiving nodeperforms an indicated action.
 4. The method of claim 1, wherein sendingthe one or more verification request messages comprises: sending the oneor more verification-request messages from the first node to the atleast one receiving node in accordance with the established parametersthat include at least one of the group consisting of timestamps andsequence numbers.
 5. The method of claim 1, wherein establishing theparameters comprises: sending a configuration-announcement message fromthe first node to the at least one receiving node, theconfiguration-announcement message containing the parameters to beestablished; and receiving a configuration-reply message from the atleast one receiving node.
 6. The method of claim 1, wherein the networkis a point-to-multipoint network, the first node comprising a root andthe at least one receiving node comprising a plurality of endpoints inthe point-to-multipoint network, wherein establishing the parameters forthe connectivity-verification session between the first node and the atleast one receiving node comprises: establishing the parameters for aconnectivity-verification session between the root and the plurality ofendpoints, the parameters including an indication of at least one actionfor the endpoint to perform if, for each of the plurality of endpoints,the endpoint does not receive at least one of the one or moreverification-request messages from the root in accordance with theparameters during the connectivity-verification session; whereinreceiving, during the connectivity-verification session, the at leastone verification-reply message from the at least one node at the firstnode comprises: receiving at least one verification-reply message fromat least one of the plurality of endpoints, the at least oneverification-reply message being indicative of the determination by theat least one receiving node of whether to send the at least oneverification-reply message to the first node; and wherein the methodfurther comprises periodically re-establishing the parameters for theconnectivity-verification session between the first node and theplurality of endpoints in the point-to-multipoint network.
 7. The methodof claim 6, comprising: discovering the plurality of endpoints in thepoint-to-multipoint network.
 8. The method of claim 6, wherein theplurality of endpoints includes a first endpoint and a second endpoint,and wherein establishing parameters comprises establishing a first valuefor a parameter for a connectivity session between the root and thefirst endpoint and establishing a second value for the parameter for aconnectivity session between the root and the second endpoint, whereinthe first value and the second value are different from one another. 9.The method of claim 1, wherein periodically re-establishing theparameters for the connectivity-verification session between the firstnode and the at least one receiving node comprises: periodically sendingconfiguration-announcement messages from the first node to the at leastone receiving node, each of the configuration-announcement messagescontaining the parameters to be re-established.
 10. The method of claim1, wherein periodically re-establishing the parameters for theconnectivity-verification session between the first node and the atleast one receiving node comprises: periodically refreshing theconnectivity-verification session.
 11. An apparatus comprising: aprocessor; a memory unit that stores instructions associated with anapplication executable by the processor; and an interconnect couplingthe processor and the memory unit, enabling the apparatus to execute theapplication, and when executing the application, is operable to:establish parameters for a connectivity verification session between afirst node and at least one receiving node in a network, wherein theconnectivity-verification session is configured to verify connectivitybetween the first node and the at least one receiving node in accordancewith the established parameters, and wherein the parameters include anindication of at least one action for the at least one receiving node toperform if the at least one receiving node does not receive one or moreverification-request messages from the first node in accordance with theparameters during the connectivity verification session; send, duringthe connectivity-verification session, the one or moreverification-request messages from the first node to the at least onereceiving node in accordance with the established parameters; receive,during the connectivity-verification session, at least oneverification-reply message from the at least one receiving node at thefirst node, the at least one verification-reply message indicative of adetermination by the at least one receiving node of whether to send theat least one verification-reply message to the first node, wherein thedetermination comprises: a determination to send the at least oneverification-reply message to the first node if the at least onereceiving node does not receive any of the one or moreverification-request messages in accordance with the establishedparameters; and a determination not to send the at least oneverification-reply message to the first node if the at least onereceiving node receives at least one of the one or moreverification-request messages in accordance with the establishedparameters; and periodically re-establish the parameters for theconnectivity-verification session between the first node and the atleast one receiving node.
 12. The apparatus of claim 11, wherein theapparatus, when executing the application, is further operable to:create a record of received verification-reply messages.
 13. Theapparatus of claim 11, wherein the apparatus when executing theapplication, is further operable to: establish the parameters for aconnectivity-verification session between the first node and the atleast one receiving node in the network, wherein the establishedparameters include at least one parameter from the group consisting of:a refresh interval for indicating a time period during which theconnectivity-verification session is valid; a transmission interval thatindicates an interval between successive verification-request messages;and a detection multiplier indicating a number of transmission intervalsthat may pass at the at least one receiving node without the at leastone receiving node receiving a verification-request message before theat least one receiving node performs an indicated action.
 14. Theapparatus of claim 11, wherein the apparatus when executing theapplication, is further operable to: send at least one of the one ormore verification-request messages from the first node to the at leastone receiving node in accordance with the established parameters,wherein the one or more verification-request messages include at leastone of the group consisting of timestamps and sequence numbers.
 15. Theapparatus of claim 11, wherein the apparatus when executing theapplication, is further operable to: send a configuration-announcementmessage from the first node to the at least one receiving node, theconfiguration-announcement message containing the parameters to beestablished.
 16. The apparatus of claim 11, wherein the network is apoint-to-multipoint network, the first node comprising a root and the atleast one receiving node comprising a plurality of endpoints in thepoint-to-multipoint network, wherein the apparatus, when executing theapplication, is operable to establish the parameters for theconnectivity-verification session between the first node and the atleast one receiving node by: establishing the parameters for aconnectivity-verification session between the root and the plurality ofendpoints, the parameters including an indication of at least one actionfor the endpoint to perform if, for each of the plurality of endpoints,the endpoint does not receive at least one of the one or moreverification-request messages from the root in accordance with theparameters during the connectivity-verification session; wherein theapparatus, when executing the application, is operable to receive,during the connectivity-verification session, the at least oneverification-reply message from the at least one node at the first nodeby: receiving the verification-reply message from at least one of theplurality of endpoints, the at least one verification-reply messagebeing indicative of the determination by the at least one receiving nodeof whether to send the at least one verification-reply message to thefirst node; and wherein the apparatus, when executing the application,is operable to periodically re-establish the parameters for theconnectivity-verification session between the first node and theplurality of endpoints in the point-to-multipoint network.
 17. Theapparatus of claim 16, wherein the apparatus, when executing theapplication, is further operable to discover the plurality of endpointsin the point-to-multipoint network.
 18. The apparatus of claim 11,wherein the apparatus, when executing the application, is operable toperiodically re-establish the parameters for theconnectivity-verification session between the first node and the atleast one receiving node by: periodically sendingconfiguration-announcement messages from the first node to the at leastone receiving node, each of the configuration-announcement messagescontaining the parameters to be re-established.
 19. The apparatus ofclaim 11, wherein the apparatus, when executing the application, isoperable to periodically re-establish the parameters for theconnectivity-verification session between the first node and the atleast one receiving node by: periodically refreshing theconnectivity-verification session.
 20. A method comprising: establishingparameters for a connectivity-verification session between a first nodeand a at least one receiving node in a network, wherein theconnectivity-verification session is configured to verify connectivitybetween the first node and the at least one receiving node in accordancewith the established parameters, and wherein the parameters include anindication of at least one action for the at least one receiving node toperform if the at least one receiving node does not receive one or moreverification-request messages from the at least one receiving node inaccordance with the parameters during the connectivity-verificationsession; determining, during the connectivity-verification session, ifthe at least one receiving node is receiving the one or moreverification-request messages from the first node in accordance with theestablished parameters; determining whether to send at least oneverification reply message to the first node, wherein the determinationcomprises: a determination to send the at least one verification replymessage to the first node if the at least one receiving node does notreceive any of the one or more verification-request messages inaccordance with the established parameters; and a determination not tosend the verification reply message to the first node if the at leastone receiving node receives at least one of the one or moreverification-request messages in accordance with the establishedparameters; and periodically re-establishing the parameters for theconnectivity-verification session between the first node and the atleast one receiving node.
 21. The method of claim 20, whereinestablishing the parameters comprises: receiving, from the first node, aconfiguration announcement message containing the parameters to beestablished; and sending a configuration-reply message to the firstnode.
 22. The method of claim 20, further comprising: calculating atleast one of the group consisting of inband loss, delay, and jitter. 23.The method of claim 20, further comprising: performing, during theconnectivity-verification session, at least one indicated action whenthe at least one receiving node does not receive at least one of the oneor more verification-request messages in accordance with the establishedparameters, wherein, during the connectivity-verification session, noaction associated with the connectivity-verification session isperformed while the at least one receiving node is receiving theverification-request messages in accordance with the establishedparameters.
 24. The method of claim 20, wherein periodicallyre-establishing the parameters for the connectivity-verification sessionbetween the first node and the at least one receiving node comprises:periodically receiving configuration-announcement messages from thefirst node to the at least one receiving node, each of theconfiguration-announcement messages containing the parameters to bere-established.
 25. An apparatus comprising: a processor; a memory unitthat stores instructions associated with an application executable bythe processor; and an interconnect coupling the processor and the memoryunit, enabling the apparatus to execute the application, and whenexecuting the application, is operable to: establish parameters for aconnectivity verification session between a first node and at least onereceiving node in a network, wherein the connectivity-verificationsession is configured to verify connectivity between the first node andthe at least one receiving node in accordance with the establishedparameters, and wherein the parameters include an indication of at leastone action for the at least one receiving node to perform if the atleast one receiving node does not receive one or moreverification-request messages from the first node in accordance with theparameters during the connectivity verification session; determine,during the connectivity-verification session, if the at least onereceiving node is receiving the one or more verification-requestmessages from the first node in accordance with the establishedparameters; and determine whether to send at least one verificationreply message to the first node, wherein the determination comprises: adetermination to send the at least one verification reply message to thefirst node if the at least one receiving node does not receive any ofthe one or more verification-request messages in accordance with theestablished parameters; a determination not to send the at least oneverification reply message to the first node if the at least onereceiving node receives at least one of the one or moreverification-request messages in accordance with the establishedparameters; and periodically re-establish the parameters for theconnectivity-verification session between the first node and the atleast one receiving node.
 26. The apparatus of claim 25, wherein theapparatus, when executing the application, is further operable to:receive, from the first node, a configuration announcement messagecontaining the parameters to be established; and send aconfiguration-reply message to the first node.
 27. The apparatus ofclaim 25, wherein the apparatus, when executing the application, isfurther operable to: calculate at least one of the group consisting ofinband loss, delay, and jitter.
 28. The apparatus of claim 25, whereinthe apparatus, when executing the application, is further operable to:perform, during the connectivity-verification session, at least oneindicated action when the at least one receiving node does not receiveat least one of the one or more verification-request messages inaccordance with the established parameters, wherein, during theconnectivity-verification session, no action associated with theconnectivity-verification session is performed while the at least onereceiving node is receiving the one or more verification-requestmessages in accordance with the established parameters.
 29. Theapparatus of claim 25, wherein the apparatus, when executing theapplication, is operable to: periodically re-establish the parametersfor the connectivity-verification session between the first node and theat least one receiving node by: periodically receivingconfiguration-announcement messages from the first node, each of theconfiguration-announcement messages containing the parameters to bere-established.